//登录接口
const db = require('../db/index');
//导入加密密码包
const bcrypt = require('bcryptjs');
//导入jsonwebtoken包
const jwt = require('jsonwebtoken')
exports.login = (req, res) => {
    //加密密码
    // console.log(bcrypt.hashSync("123456", 10));
    // console.log(req.body);
    //1.检测表单数据是否合法
    const userinfo = req.body;
    // if (userinfo.username == '' && userinfo.password == '') {
    //     return res.send('用户名和密码不能为空')
    // };
    //2.根据用户名查询用户数据

    const sql = `select * from sp_manager where mg_name=?`
    db.query(sql, userinfo.username, (err, result) => {
        if (err) {
            return res.ResData(err.message);
        }
        if (result.length !== 1) {
            return res.ResData('用户名错误')
        }
        //3.判断用户输入密码是否正确
        const compareResult = bcrypt.compareSync(userinfo.password, result[0].mg_pwd);
        if (!compareResult) return res.ResData('密码错误');


        //4.生成token字符串
        //清楚密码
        const user = {...result[0], mg_pwd: '' }
            // console.log(user);
            //将用户的信息进行加密生成token
        const secret = "secret";
        const token = jwt.sign(user, secret, { expiresIn: '10h' })
            // console.log(token);
        const data = {
            "id": result[0].mg_id,
            "rid": result[0].role_id,
            "username": result[0].mg_name,
            "mobile": result[0].mg_mobile,
            "email": result[0].mg_email,
            "token": 'Bearer ' + token
        }
        res.ResData("登录成功", 200, data)
    })



    // res.send("登录")
}